﻿using DirectSell.Common.Cookie;
using DirectSell.Common.Session;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Mvc;

namespace DirectSell.Common.Filter
{
    /// <summary>
    /// 会员登录过滤器--郭文昊--2018年10月29日10:14:05
    /// </summary>
    public class LoginFilter : ActionFilterAttribute
    {
        //表示是否检查登录
        /// <summary>
        /// 是否启用过滤器
        /// </summary>
        public bool IsCheck { get; set; }

        /// <summary>
        /// Action方法执行之前执行此方法
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (IsCheck)
            {
                var cookie = CookieHelper.GetCookieValue("MyCookie");

                //如果cookie不为null且session未登录说明session过期 直接跳转至登录页
                if (!string.IsNullOrEmpty(cookie) && !SessionInfo.IsUserLogin)
                {
                    filterContext.Result = new RedirectResult("/UserLogin/Index");
                }
                //cookies 为null时 直接跳登录页
                if (string.IsNullOrEmpty(cookie))
                {
                    filterContext.Result = new RedirectResult("/UserLogin/Index");
                }
            }
        }
    }
}
